Saliency-based position estimation in permanent magnet synchronous motors

ABSTRACT

A method and system for the sensorless estimation of the states of the mechanical subsystem of a motor are disclosed. In particular, the method and system split the estimation problem into two sub-problems: the estimation of motor parameters as a function of position, and the determination of the states of the mechanical subsystem of the motor using the estimated parameters via a state observer. Motor current and PWM voltage in a polyphase system is measured or otherwise determined and converted into current and voltage in α-β coordinates. A least square estimator is constructed that uses the voltage and current in α-β coordinates and provides an estimate of the motor parameters, and in particular, the inductances of the motor, which are a function of the rotor position. These estimated inductances are used to drive a state observer whose dynamics have been selected to provide as an output the state of the mechanical subsystem of the motor, and in particular, the position, velocity, and acceleration of this subsystem.

CROSS REFERENCE TO RELATED APPLICATIONS STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT BACKGROUND OF THE INVENTION

[0001] This invention relates generally to motor position estimation systems and in particular to motor position estimation systems for permanent magnet synchronous motors.

[0002] Permanent magnet synchronous motors (PMSMs) have become increasingly popular in high-performance variable-frequency drives due to their high efficiency, high torque-to-inertia ratio, rapid dynamic response, and relatively simple modeling and control. To achieve the proper field position orientation in motion control applications, it is necessary to obtain the actual position of the rotor magnets. Typically, this position is obtained through the use of position sensors mounted on the motor shaft. These position sensors can include a shaft encoder, resolver, Hall effect sensor, or other form of angle sensor. These sensors typically are expensive, require careful installation and alignment, and are fragile. Accordingly, the the use of these position sensors both in terms actual cost to produce the product and in the costs associated with the maintenance and repair of these systems is high.

[0003] Sensorless position estimation systems have been developed to overcome these limitations, but the present sensorless position estimation systems have their own drawbacks as well. These systems typically fall into two categories: back emf methods and signal injection methods. Back emf systems use the measured back emf voltage to estimate the position of the rotor magnets. The back emf voltage signal is roughly proportional to the rotational velocity of the motor. Although this method achieves valid results at higher rotational velocities, at low rotational velocities and high torque settings, the back emf voltage signal decreases to values that are too small to be useful, and vanish entirely at speeds close to a standstill. Thus, the back emf method is not suitable for these low rotational velocity high torque applications. The second method is the signal injection method in which an auxiliary signal is introduced into the motor electrical subsystem and measure the response of the motor electrical subsystem to estimate the rotor position. Although this method avoids the singularities of the back emf method, these methods are computationally intensive and thus are not well suited for industrial applications.

[0004] Accordingly, it would be advantageous to provide a position estimation system that avoids the singularities at low speeds and the computationally intensive methods of the prior art.

BRIEF SUMMARY OF THE INVENTION

[0005] A method and system for the sensorless estimation of the states of the mechanical subsystem of a motor are disclosed. In particular, the method and system split the estimation problem into two sub-problems: the estimation of motor parameters as a function of position, and the determination of the states of the mechanical subsystem of the motor using the estimated parameters via a state observer. Motor current and PWM voltage in a polyphase system is measured or otherwise determined and converted into current and voltage in α-β coordinates. A least square estimator is constructed that uses the voltage and current in α-β coordinates and provides an estimate of the motor parameters, and in particular, the inductances of the motor, which are a function of the rotor position. These estimated inductances are used to drive a state observer whose dynamics have been selected to provide as an output the state of the mechanical subsystem of the motor, and in particular, the position, velocity, and acceleration of this subsystem.

[0006] Other features, functions, and aspects of the invention will be evident from the Detailed Description of the Invention that follows.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

[0007] The invention will be more fully understood with reference to the following Detailed Description of the Invention in conjunction with the drawings of which:

[0008]FIG. 1 is a block diagram of an embodiment of the sensorless position estimation system;

[0009]FIG. 2 is a set of graphs depicting voltage and current waveforms in conjunction with the embodiment of the sensorless position estimator depicted in FIG. 1;

[0010]FIG. 3 is a PWM pattern constellation suitable for use with the sensorless position estimation system depicted in FIG. 1; and

[0011]FIG. 4 is a method for performing an embodiment of the sensorless position estimation.

DETAILED DESCRIPTION OF THE INVENTION

[0012]FIG. 1 depicts a block diagram of one embodiment of the sensorless position estimation system (“system”). The system 100 includes a controller 102 providing 3 phase PWM control signals to a voltage inverter 104 that is responsive to the PWM control signals by providing the appropriate phasing to the three currents 101, 103, 105 to the motor 106. The three currents 101, 103, and 105 are sensed by current sensor 107 and provided to a 3-phase to α-β converter module 108. The converter module 108 transforms the 3-phase currents into 2 phases and provides i_(α) and i_(β) values using the well standard transformation: $\begin{bmatrix} y_{\alpha} \\ y_{\beta} \end{bmatrix} = {{\sqrt{\frac{2}{3}}\begin{bmatrix} 1 & \frac{1}{2} & {- \frac{1}{2}} \\ 0 & \sqrt{\frac{3}{2}} & {- \sqrt{\frac{3}{2}}} \end{bmatrix}}\begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \end{bmatrix}}$

[0013] where y_(α) and y_(β) are the output in α-β coordinates and x₁, x₂, and x₃ are the 3 polyphase current values. The α-β currents, y_(α) and y_(β), are then provided to the least square parameter estimator 110.

[0014] The controller 102 also provides the 3-phase PWM control signals to another 3-phase to α-β converter module 112 that converts the 3-phase voltage commands into α-β coordinates using the above transformation in which x₁, x₂, and x₃ are the 3 polyphase voltage signals and y_(α) and y_(β) are the voltages v_(α) and v_(β) and are provided to the parameter estimator 110. The parameter estimator 110 uses the transformed current and voltage signals to estimate a set of parameters for the motor 106. These estimated parameters are provided as an input to the mechanical observer 114 that uses the estimated parameters to provide estimates of the position, velocity, and acceleration of the mechanical subsystem of motor 106.

[0015] The magnetic field of a motor with salient rotors changes along the circumference. In addition to this non-isotropic behavior due to rotor geometry, in permanent magnetic synchronous motor (PMSMs) additional asymmetry is introduced by the non-uniform magnetic saturation of the stator steel. Due to these phenomena, the fluxes through the stator windings produced by the phase currents are a function of the rotor position that implies a position dependence of the stator phase inductances. The resulting stator inductance matrix in a stationary α-β frame is given by: $\begin{matrix} {L = \begin{bmatrix} {L_{0} + {L_{1}{\cos \left( {2\theta} \right)}}} & {L_{1}{\sin \left( {2\theta} \right)}} \\ {L_{1}{\sin \left( {2\theta} \right)}} & {L_{0} - {L_{1}{\cos \left( {2\theta} \right)}}} \end{bmatrix}} & (1) \end{matrix}$

[0016] The equations describing the electrical subsystem of the motor in the α-β frame are: $\begin{matrix} \begin{matrix} {v = {{R_{s}i} + \frac{\lambda}{t}}} \\ {\lambda = {{Li} + \lambda_{\tau}}} \end{matrix} & (2) \end{matrix}$

[0017] where v=[v_(α)v_(β)]^(T) and i=[i_(α)i_(β)]^(T) are the vectors of the stator phase voltages and currents, λ=[λ_(α)λ_(β)]^(T) and λ_(τ)=[λ_(τα)λ_(τβ)]^(T) are the vector of stator phase total and partial fluxes, which are due to the rotor field and R_(s)=diag[Rs, Rs] is the matrix of the stator phase resistances. Combining the above equations yields the following electrical subsystem in the α-β frame: $\begin{matrix} {v = {{\left( {R_{s} + {\omega \frac{L}{\theta}}} \right)i} + {L\frac{i}{t}} + {\omega \frac{\lambda_{\tau}}{\theta}}}} & (3) \end{matrix}$

[0018] where $\begin{matrix} {R_{s} = \begin{bmatrix} {R_{s} - {2\omega \quad L_{1}{\sin \left( {2\theta} \right)}}} & {2\omega \quad L_{1}{\cos \left( {2\theta} \right)}} \\ {2\omega \quad L_{1}{\cos \left( {2\theta} \right)}} & {R_{s} + {2\omega \quad L_{1}{\sin \left( {2\theta} \right)}}} \end{bmatrix}} & (4) \end{matrix}$

[0019] is the effective resistance matrix.

[0020] The torque produced by the motor includes reluctance and mutual components and, neglecting torque ripple, is given by: $\begin{matrix} {\tau_{m} = {P\left( {{\frac{1}{2}i^{T}\frac{L}{\theta}i} + {i^{T}\frac{\lambda_{\tau}}{\theta}}} \right)}} & (5) \end{matrix}$

[0021] where P is the number of pole pairs. The mechanical behavior of the motor is modeled with the viscous friction and inertia as: $\begin{matrix} \begin{matrix} {{J\frac{\omega}{t}} = {\tau_{m} - {B\quad \omega} - \tau_{l}}} \\ {\frac{\theta}{t} = \omega} \end{matrix} & (6) \end{matrix}$

[0022] where J and B are the moment of inertia and the friction constant normalized with respect to P, and τ₁ is the load torque.

[0023] The position estimation system utilizes the above model and uses the mechanical state variables as parameters in the inductance and resistance matrices. This method uses the electrical transients, which have a much faster time constant than the mechanical transients, to estimate the approximately constant parameters of the system. The electrical subsystem is given by: $\begin{matrix} {v = {{Ri} + {L\frac{i}{t}} + {\omega \frac{\lambda_{\tau}}{\theta}}}} & (7) \end{matrix}$

[0024] where $\begin{matrix} {{L = \begin{bmatrix} {L_{0} + {L_{1}{\cos \left( {2\quad \theta} \right)}}} & {L_{1}{\sin \left( {2\quad \theta} \right)}} \\ {L_{1}{\sin \left( {2\theta} \right)}} & {L_{0} + {L_{1}{\cos \left( {2\theta} \right)}}} \end{bmatrix}},} & {R = \begin{bmatrix} {R_{s} - {2\omega \quad L_{1}{\sin \left( {2\theta} \right)}}} & {2\omega \quad L_{1}{\cos \left( {2\theta} \right)}} \\ {2\omega \quad L_{1}{\cos \left( {2\theta} \right)}} & {R_{s} + {2\omega \quad L_{1}{\sin \left( {2\theta} \right)}}} \end{bmatrix}} \end{matrix}$

[0025] are the inductance and effective resistance matrices, where ${L_{0} = \frac{L_{d} + L_{q}}{s}},{L_{1} = {\frac{L_{d} - L_{q}}{2}.}}$

[0026]FIG. 2 depicts representative current and voltage waveforms in a single PWM period consisting of 1, 2, 3, . . . N subintervals. It is assumed that the voltage v_(α) in graph 2(b) is constant over the entire subinterval and that the current in graph 2(a) is substantially linear over the entire subinterval. Thus, the integration of equation (7) over the (t_(n+1), t_(n)) interval and division by this interval to discretize equation (7) yields: $\begin{matrix} {v = {{R\frac{i_{n + 1} + i_{n}}{2}} + {L\frac{i_{n + 1} + i_{n}}{t_{n + 1} - t_{n}}} + {\omega \frac{\lambda_{\tau}}{\theta}}}} & (8) \end{matrix}$

[0027] where n=1, 2, . . . N, and N is a number of subintervals within one PWM period. Assuming that the mechanical parameters do not change from one subinterval to another, the back emf term, i.e., the ωterm in equation (8) can be removed by subtracting two subsequent subintervals which yields: $\begin{matrix} {{v_{n + 2} - v_{n + 1}} = {{L\left( {\frac{i_{n + 2} + i_{n + 1}}{t_{n + 2} - t_{n + 1}} - \frac{i_{n + 1} + i_{n}}{t_{n + 1} - t_{n}}} \right)} + {R\left( \frac{i_{n + 2} + i_{n + 1}}{2} \right)}}} & (9) \end{matrix}$

[0028] At the PWM frequencies that are contemplated for use in this system, the contribution of the R term in equation (9) is negligible, and accordingly the term is neglected. This reduces the problem to be solved to:

w_(n)=Lx_(n)  (10)

[0029] where $\begin{matrix} \begin{matrix} {w_{n} = {v_{n + 1} - v_{n}}} \\ {x_{n} = \left( {\frac{i_{n + 2} + i_{n + 1}}{t_{n + 2} - t_{n + 1}} - \frac{i_{n + 1} + i_{n}}{t_{n + 1} - t_{n}}} \right)} \end{matrix} & (11) \end{matrix}$

[0030] where x_(n) is the slope of the current is determined.

[0031] To solve the parameter estimation problem, a least squares problem is constructed, but to simplify the process of solving the least squares problem, equation (10) is rewritten such that unknown matrix containing the parameters to be estimated multiplied by the already known voltage values as:

x _(n) =L ⁻¹ w _(n)  (12)

[0032] where $\begin{matrix} {L^{- 1} = {\frac{1}{L_{0}^{2} - L_{1}^{2}}\begin{bmatrix} {L_{0} - {L_{1}{\cos \left( {2\quad \theta} \right)}}} & {{- L_{1}}{\sin \left( {2\quad \theta} \right)}} \\ {{- L_{1}}{\sin \left( {2\quad \theta} \right)}} & {L_{0} + {L_{1}{\cos \left( {2\quad \theta} \right)}}} \end{bmatrix}}} & (13) \end{matrix}$

[0033] A parameterization to be used in the estimation problem is given by: $\begin{matrix} {q = {\begin{bmatrix} q_{0} \\ q_{1} \\ q_{2} \end{bmatrix} = {\frac{1}{L_{0}^{2} - L_{1}^{2}}\begin{bmatrix} L_{0} \\ {{- L_{1}}{\cos \left( {2\quad \theta} \right)}} \\ {{- {L1}}\quad {\sin \left( {2\quad \theta} \right)}} \end{bmatrix}}}} & (14) \end{matrix}$

[0034] Accordingly, equation (11) can be rewritten as: $\begin{matrix} {x_{n} = {\begin{bmatrix} w_{n\quad \alpha} & w_{n\quad \alpha} & w_{n\quad \beta} \\ w_{n\quad \beta} & {- w_{n\quad \beta}} & w_{n\quad \alpha} \end{bmatrix}\begin{bmatrix} q_{0} \\ q_{1} \\ q_{2} \end{bmatrix}}} & (15) \end{matrix}$

[0035] for n=1, 2, 3, . . . N−1.

[0036] Thus, equation (14) can be written

x=Wq  (16)

[0037] where W is the matrix of the n−1 voltage differences between adjacent PWM subintervals for the ad coordinates from equation (11).

[0038] Stacking the N−1 equations to form the least squares problem ensures that the system in equation (15) is over-determined, the solution for the estimate of q is given by:

{circumflex over (q)}=(W ^(T) W) ⁻¹ W ^(T) x=W _(pi) x  (17)

[0039] In order to further simplify this problem, a particular PWM pattern is used. As is known, the PWM signal is a three-bit binary signal provided by the controller 102 to the voltage inverter 104 and where a “1” indicates that the corresponding phase is connected to the voltage rail and a “0” indicates that the corresponding phase is connected to ground. As discussed above, the basic unit of time is referred to as a PWM period that is subdivided into N subintervals during which a particular input switch combination is held constant. The duration of each subinterval, referred to as the “duty cycle” can vary, as can the switch combination of each subinterval. In general, the vectors and duty cycles are selected to produce the desired PWM output vector. In the embodiment described herein the PWM pattern has six subintervals and the switching combination is always each of the six non-zero PWM vectors (V₁ . . . V₆), see FIG. 3 for a graphical depiction of the PWM vectors. The output PWM vector is therefore dependent upon the duty cycle of each subinterval which are computed according to: $\begin{matrix} \begin{matrix} \begin{matrix} {Ϛ_{1} = {\frac{1}{6} + {\frac{5\sqrt{3}}{12}\frac{v_{\alpha}}{v_{\max}}} - {\frac{7}{12}\frac{v_{\beta}}{v_{\max}}}}} \\ {Ϛ_{2} = {\frac{1}{6} - {\frac{\sqrt{3}}{12}\frac{v_{\alpha}}{v_{\max}}} + {\frac{11}{12}\frac{v_{\beta}}{v_{\max}}}}} \end{matrix} \\ {Ϛ_{3,4,5,6} = {\frac{1}{6} - {\frac{\sqrt{3}}{12}\frac{v_{\alpha}}{v_{\max}}} - {\frac{1}{12}\frac{v_{\beta}}{v_{\max}}}}} \end{matrix} & (18) \end{matrix}$

[0040] where the duty ratios are defined as ${Ϛ_{i} = \frac{t_{i}}{T_{PWM}}},$

[0041] ζ₁ is the duty ratio of the subinterval corresponding to the lag vector, i.e., one of the vectors adjacent to the desired vector, ζ₂ is the duty ratio of the subinterval corresponding to the lead vector, i.e., the other one of the vectors adjacent to the desired vector, and ζ_(3, 4, 5, 6) correspond to the other vectors.

[0042] This choice of PWM pattern that is consistent in the order in which the PWM vectors are processed and in which the value of each is consistent allows W in equation (17) to be constant over time since the voltage levels in each subinterval are the same. Thus, W_(pi) can be computed off-line and q, the estimate of the parameters, will be reduced to a multiplication of a constant matrix by a vector that depends on the measured current values and the duration of the subintervals.

[0043] Once {circumflex over (q)} has been estimated, in one embodiment the rotor position could be computed using inverse trigonometric functions and solving equation (13) for θ. However, this has at least two disadvantages. First, the inverse trigonometric functions can be computationally intensive to calculate, and second, the parameter estimate is noisy and would not be filtered. Accordingly, to avoid these problems, in the preferred embodiment, a state estimator is provided that will provide an estimate for all the mechanical states of the system. The state estimator provides for filtering of the parameters and is not computationally intensive. The dynamics of the state observer are designed to be much faster than the dynamics of the mechanical loop controller, so that it is neglected during control loop design.

[0044] The observer has the following dynamic form:

{circumflex over ({dot over (α)})}=γ₃ε

{circumflex over ({dot over (ω)})}=γ₂ε+{circumflex over (α)}

{circumflex over ({dot over (θ)})}=γ₁ε+{circumflex over (ω)}  (19)

[0045] where {circumflex over (θ)}, {circumflex over (ω)}, and {circumflex over (α)} are the estimates of the position, speed, and acceleration respectively, γ_(I) are design parameters and ε is a non-linear observation error that drives the variable estimates to their true value. The non-linear observation error is derived from the inductance parameters as:

ε={circumflex over (p)}₃ cos(2{tilde over (θ)})−{circumflex over (p)}₂ sin(2{tilde over (θ)})=L ₁ sin(2θ)  (20)

[0046] where {tilde over (θ)}=θ−{circumflex over (θ)}. It can be shown that the error dynamics of the state observer are non-linear with stable equilibria at {tilde over (θ)}=nπ and if linearized around 0 the error dynamics are stable and the values provided by the state observer will be driven toward the correct values. The speed of the response of the state observer is determined by the placement of the poles of the system which are set by the values selected for γ_(i).

[0047] The selection of the poles presents a tradeoff between the response time of the state observer and noise filtering since the bandwidth increases for a faster response time but with less filtering and vice-versa. Another consideration of the pole placement is to keep the original state observer system in equation (19) in the neighborhood of {tilde over (θ)}=0 under all operating conditions.

[0048] Accordingly, for each update of the estimated parameters, the estimated parameters are provided to the state observer in equation (19). Equation (19) is then solved and provides an estimate vector of the position, speed, and acceleration of the mechanical subsystem of the motor for the previous PWM subinterval.

[0049]FIG. 4 depicts a method for performing an embodiment of the sensorless position estimation system. In step 402, the W matrix is formed based on the PWM pattern as discussed above. In step 404, the current in each phase is measured. In step 406, the three phases of current are converted into the αβ frame as discussed above. In step 408, the vector x is formed and the slope of the current is determined as discussed above. In step 410, the estimated parameters are determined according to equation (16). In step 412, the newly estimated parameters are provided to the state observer, equation (18), and the state observer is updated. In step 414 the estimated mechanical parameters, i.e., the position, velocity, and acceleration of the mechanical subsystem are output.

[0050] It should be appreciated that other variations to and modifications of the above-described sensorless position estimation system may be made without departing from the inventive concepts described herein. Accordingly, the invention should not be viewed as limited except by the scope and spirit of the appended claims. 

What is claimed is:
 1. An apparatus for providing a position estimate of a polyphase motor receiving polyphase current from a voltage inverter, the voltage inverter receiving PWM commands from a controller, the apparatus comprising: a current measuring apparatus for measuring at least two of the polyphase currents; an α-β converter coupled to the current measuring apparatus, the α-β converter operative to convert the polyphase currents into the α-β frame of reference, the α-β converter providing an output of the current in α-β coordinates; the α-β converter further coupled to the controller and receiving the PWM commands therefrom, the α-β converter operative to convert the PWM commands into α-β coordinates and to provide as an output the PWM commands in α-β coordinates; a least squares estimator, receiving the current in α-β coordinates and the PWM commands in α-β coordinates, the least squares estimator operative to provide an output vector of estimated parameters; and a state observer coupled to the least square estimator and receiving the estimated parameters therefrom, the state observer operative to provide an output of an estimate of the mechanical subsystem of the motor that includes the position of the mechanical subsystem.
 2. The apparatus of claim 1 wherein the least square estimator estimates the parameters {circumflex over (q)} by solving the equation {circumflex over (q)}=(W^(T)W)⁻¹W^(T)x=W_(pi)x.
 3. The apparatus of claim 1 wherein the state observer is of the form {circumflex over ({dot over (α)})}=γ₃ε{circumflex over ({dot over (ω)})}=γ₂ε+{circumflex over (α)}{circumflex over ({dot over (θ)})}=γ1ε+{circumflex over (ω)} where {circumflex over (θ)},{circumflex over (ω)},and {circumflex over (α)} are the estimates of the position, speed, and acceleration respectively, γ_(I) are design parameters and ε is of the form ε={circumflex over (p)}₃ cos(2{tilde over (θ)})−{circumflex over (p)}₂ sin(2{tilde over (θ)})=L₁ sin(2θ).
 4. A method for providing a position estimate of a polyphase motor receiving polyphase current from a voltage inverter, the voltage inverter receiving PWM commands from a controller, the method comprising the steps of: forming the matrix W; obtaining measurements of at least two polyphase currents; converting the obtained current measurements into an α-β coordinate system; form the vector x; compute the estimated parameters by {circumflex over (q)}=(W^(T)W)⁻¹W^(T)x=W_(pi)x; provide the updated estimated parameters to the state observer; update the state observer by solving {circumflex over ({dot over (α)})}=γ₃ε{circumflex over ({dot over (ω)})}=γ₂ε+{circumflex over (α)}{circumflex over ({dot over (θ)})}=γ₁ε+{circumflex over (ω)} where {circumflex over (θ)},{circumflex over (ω)},and {circumflex over (α)} are the estimates of the position, speed, and acceleration respectively, γ_(I) are design parameters and ε is of the form ε={circumflex over (p)}₃ cos(2{tilde over (θ)})−{circumflex over (p)}₂ sin(2{tilde over (θ)})=L₁ sin(2θ); and provide the position estimate. 